import numpy as np

#array接受序列型对象，生成数组
data1 = [6,7.5,8,0,1]
arr1 = np.array(data1,dtype=int)
print(arr1)

#生成一个2*4的数组
data2 = [[1,2,3,4],[5,6,7,8]]#列表
arr2 = np.array(data2)
print(arr2)

print(arr1.ndim)#几维（几行）
print(arr2.ndim)#几维（几行）

print(arr2.shape)#查看数组类型（几乘几）

print(arr1.dtype)#查看数组数据类型
print(arr2.dtype)#查看数组数据类型

#zeros都是零的数组
print(np.zeros(10,dtype=int))#生成都是全0的数组（一维）
print(np.zeros((3,6),dtype=int))#生成都是全0的数组（三维）

data3 = [[1,2,3],[4,5,6],[7,8,9]]
print(np.zeros_like(data3,dtype=int))#生成都是全1的数组

#ones都是1的数组
print(np.ones((2,3),dtype=int))#生成都是全1的数组

data4 = [[1,2,3],[4,5,6],[7,8,9]]
print(np.ones_like(data4))#生成都是全1的数组

#empty未初始化的数组
print(np.empty((2,3,2),dtype=float))

#arange未初始化的数组（就像python中的range一样）
print(np.arange(15))

#full填充数组
print(np.full((3,5),2,dtype=int))

data5 = [[1,2,3],[4,5,6]]
print(np.full_like(data5,2,dtype=int))

#eye生成一个对角线是1，其余为0的数组
print(np.eye(3,k=1,dtype=int))#生成一个3*3的单位矩阵
#k=  0（默认值）指的是主对角线，正值指的是上对角线，负值指的是下对角线。

#array接受：列表元组数组等序列，复制
#asarry如果已经是ndarray则不再复制
#arange python 内建函数range的数组版
#ones接受形状（形状即是（3，6）=（3*6）），全是1
#ones_like接受数组（数组[[1,2,3],[4,5,6]]），生成形状一样的全是1
#zeros全是0
#zeros_like接受数组，生成形状一样的全是0
#full指定数值，指定类型
#full_like
#eye，identity n*n，对角线为1，其余位置为0

